<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <div th:insert="common.html"></div>
</head>
<body>
    <div class="zTreeDemoBackground left">
        <ul id="tree" class="ztree"></ul>
    </div>
    <SCRIPT type="text/javascript">
        var setting = {
            check: {
                enable: true,
                chkStyle: "checkbox",
                chkboxType: { "Y": "p", "N": "s" }
            },
            async: {
                enable: true,
                url:"/menuController/getTree",
                autoParam:["id", "name=n", "level=lv"],
                otherParam:{"otherParam":"zTreeAsyncTest"}
            },view : {
                addHoverDom: function(treeId, treeNode){
                    var aObj = $("#" + treeNode.tId + "_a"); // tId = permissionTree_1, ==> $("#permissionTree_1_a")
                    // aObj.attr("href", "javascript:;");
                    if (treeNode.editNameFlag || $("#btnGroup"+treeNode.tId).length>0) return;
                    var s = '<span id="btnGroup'+treeNode.tId+'">';
                    if ( treeNode.level == 0 ) {
                        s += '<a class="btn btn-info dropdown-toggle btn-xs" style="margin-left:10px;padding-top:0px;" onclick="addNode('+treeNode.id+')" href="#" >添加</a>';
                    } else if ( treeNode.level == 1 ) {
                        s += '<a class="btn btn-info dropdown-toggle btn-xs" style="margin-left:10px;padding-top:0px;"  onclick="editNode('+treeNode.id+')" href="#" title="修改权限信息">修改</a>';
                        if (treeNode.children == undefined) {
                            s += '<a class="btn btn-info dropdown-toggle btn-xs" style="margin-left:10px;padding-top:0px;" onclick="deleteNode('+treeNode.id+')" href="#" >删除</a>';
                        }
                        s += '<a class="btn btn-info dropdown-toggle btn-xs" style="margin-left:10px;padding-top:0px;" onclick="addNode('+treeNode.id+')" href="#" >添加</a>';
                    } else if ( treeNode.level == 2 ) {
                        s += '<a class="btn btn-info dropdown-toggle btn-xs" style="margin-left:10px;padding-top:0px;"  onclick="editNode('+treeNode.id+')" href="#" title="修改权限信息">修改</a>';
                        s += '<a class="btn btn-info dropdown-toggle btn-xs" style="margin-left:10px;padding-top:0px;" onclick="deleteNode('+treeNode.id+')" href="#">删除</a>';
                    }
                    s += '</span>';
                    aObj.after(s);
                },
                removeHoverDom: function(treeId, treeNode){
                    $("#btnGroup"+treeNode.tId).remove();
                }
            }
        };

        $(document).ready(function(){
            $.fn.zTree.init($("#tree"), setting);
        });
        //添加菜单
        function addNode(treeId){
            BootstrapDialog.show({
                type : BootstrapDialog.TYPE_SUCCESS,//弹出框类型 颜色
                title : '添加菜单 ',//load jquery的方法
                message : $('<div></div>').load("/menuController/toAdd"),
                // size : BootstrapDialog.SIZE_SMALL,//size为小，默认的对话框比较宽
                buttons : [ {// 设置关闭按钮
                    label : '关闭',
                    action : function(dialogItself) {//点击按钮方法
                        dialogItself.close();
                    }
                },{
                    label : '确定',
                    cssClass:'btn-success',
                    action : function(dialogItself) {//点击按钮方法
                        $.ajax({
                            url:"/menuController/saveMenu",
                            data:{text:$("#text").val(),url:$("#url").val(),parentid:treeId,button:$("#button").val(),perms:$("#perms").val()},//参数
                            dataType:"text",
                            type:"post",
                            async:false,
                            success:function(data){
                                if(data=='true'){
                                    alert("添加成功");
                                    dialogItself.close();
                                    $.fn.zTree.init($("#tree"), setting);
                                }else{
                                    alert("添加失败");
                                }
                            },
                            error:function(){
                                alert("系统错误，请联系管理员");
                            }
                        })
                    }
                } ],
                // 对话框关闭时带入callback方法
            });
        }

        //修改
        function editNode(treeId){
            BootstrapDialog.show({
                type : BootstrapDialog.TYPE_SUCCESS,//弹出框类型 颜色
                title : '修改菜单 ',//load jquery的方法
                message : $('<div></div>').load("/menuController/toUpdate/"+treeId),// restful
                // size : BootstrapDialog.SIZE_SMALL,//size为小，默认的对话框比较宽
                buttons : [ {// 设置关闭按钮
                    label : '关闭',
                    action : function(dialogItself) {//点击按钮方法
                        dialogItself.close();
                    }
                },{
                    label : '确定',
                    cssClass:'btn-success',
                    action : function(dialogItself) {//点击按钮方法
                        $.ajax({
                            url:"/menuController/updateMenu",
                            data:{text:$("#text").val(),url:$("#url").val(),id:treeId},//参数
                            dataType:"text",
                            type:"post",
                            async:false,
                            success:function(data){
                                if(data=='true'){
                                    alert("修改成功");
                                    dialogItself.close();
                                    $.fn.zTree.init($("#tree"), setting);
                                }else{
                                    alert("修改失败");
                                }
                            },
                            error:function(){
                                alert("系统错误，请联系管理员");
                            }
                        })
                    }
                } ],
                // 对话框关闭时带入callback方法
            });
        }
        //删除方法
        function deleteNode(treeId){
            if(confirm("是否确认删除")){//用户确定后执行删除操作
                $.ajax({
                    url:"/menuController/deleteMenu/"+treeId,
                    data:{},//参数
                    dataType:"text",
                    type:"post",
                    async:false,
                    success:function(data){
                        if(data=='true'){
                            alert("删除成功");
                            $.fn.zTree.init($("#tree"), setting);
                        }else{
                            alert("删除失败");
                        }
                    },
                    error:function(){
                        alert("系统错误，请联系管理员");
                    }
                })
            }
        }
    </SCRIPT>
</body>
</html>